package com.tianji.coupon.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.tianji.common.Result;
import com.tianji.coupon.dto.CouponFormDTO;
import com.tianji.coupon.dto.CouponIssueFormDTO;
import com.tianji.coupon.pojo.Coupon;
import com.tianji.coupon.query.CouponQuery;

import javax.validation.Valid;

/**
 * <p>
 * 优惠券的规则信息 服务类
 * </p>
 *
 * @author 陈佳
 * @since 2024-08-29
 */
public interface CouponService extends IService<Coupon> {

    void saveCoupon(@Valid CouponFormDTO dto);

    Result queryCouponByPage(CouponQuery query);

    void beginIssue(@Valid CouponIssueFormDTO dto);

    void updateCoupon(@Valid CouponFormDTO dto);

    void deleteCoupon(@Valid Long id);

    Result CouponByid(@Valid Long id);


    Boolean couponTask(int shardIndex, int shardTotal);

    void pauseCoupon(Long id);


}
